
namespace ShoppingCart.Business.Entity
{
	using System;

	/// <summary>
    /// Represents an entity Cliente.
	/// </summary>
	[Serializable]
	public class Cliente : BaseEntity
	{
		/// <summary>
		/// Gets or sets the IdCliente value.
		/// </summary>
		public int IdCliente { get; set; }

		/// <summary>
		/// Gets or sets the UserID value.
		/// </summary>
		public Guid UserID { get; set; }

		/// <summary>
		/// Gets or sets the Dni value.
		/// </summary>
		public string Dni { get; set; }

		/// <summary>
		/// Gets or sets the Nombre value.
		/// </summary>
		public string Nombre { get; set; }

		/// <summary>
		/// Gets or sets the Apellidos value.
		/// </summary>
		public string Apellidos { get; set; }

		/// <summary>
		/// Gets or sets the Ruc value.
		/// </summary>
		public string Ruc { get; set; }

        /// <summary>
        /// Gets or sets the Ruc value.
        /// </summary>
        public string RazonSocial { get; set; }

		/// <summary>
		/// Gets or sets the Direccion value.
		/// </summary>
		public string Direccion { get; set; }

		/// <summary>
		/// Gets or sets the Email value.
		/// </summary>
		public string Email { get; set; }

		/// <summary>
		/// Gets or sets the Telefono value.
		/// </summary>
		public string Telefono { get; set; }

		/// <summary>
		/// Gets or sets the Celular value.
		/// </summary>
		public string Celular { get; set; }

		/// <summary>
		/// Gets or sets the FechaNacimiento value.
		/// </summary>
		public DateTime FechaNacimiento { get; set; }

		/// <summary>
		/// Gets or sets the Sexo value.
		/// </summary>
		public string Sexo { get; set; }

		/// <summary>
		/// Gets or sets the Ocupacion value.
		/// </summary>
		public string Ocupacion { get; set; }

		/// <summary>
		/// Gets or sets the Foto value.
		/// </summary>
		public string Foto { get; set; }

		/// <summary>
		/// Gets or sets the Distrito value.
		/// </summary>
		public Distrito Distrito { get; set; }

        public string NombreCompleto
        {
            get { return string.Format("{0}, {1}", Apellidos, Nombre); }
        }

        public override string ToString()
        {
            return string.IsNullOrEmpty(Dni) ? Ruc : Dni;
        }
	}
}
